package domein;

import java.sql.SQLException;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import persistentie.RoutesDB;

public class BerekeningenRoutes {
	
	RoutesDB routesDB;

	public BerekeningenRoutes(){
		this.routesDB = new RoutesDB();
	}
	
	public List<Locatie> berekenKortsteRoute(List<Locatie> locaties){
		Collections.sort(locaties, new kleinsteAfstandComparator());
		return locaties;
	}
	
	private class kleinsteAfstandComparator implements Comparator<Locatie> {
		public int compare(Locatie l1, Locatie l2){
		    float vgl = (l1.getBreedtegraad()-l1.getLengtegraad())/(l2.getBreedtegraad()-l2.getLengtegraad());
		    
		    if(vgl != 0)
		    	return (int)vgl;
		    
		    return (int)vgl;
		}
	}
	
	public List<Locatie> berekenLangsteRoute(List<Locatie> locaties){
		Collections.sort(locaties, new berekenLangsteRouteComparator());
		return locaties;
	}
	
	private class berekenLangsteRouteComparator implements Comparator<Locatie> {
		public int compare(Locatie l1, Locatie l2){
			double vgl = (l1.getBreedtegraad()-l1.getLengtegraad())*(l2.getBreedtegraad()-l2.getLengtegraad());
			
		    if(vgl != 0)
		    	return (int)vgl;
		    
		    return (int)vgl;
		}
	}
}
